/*
 * =====================================================================================
 *
 *       Filename:  IObservable.h
 *
 *    Description:被观察者接口
 *
 *        Version:  1.0
 *        Created:  12/30/2021 05:27:31 PM
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  first_name last_name (fl), fl@my-company.com
 *        Company:  my-company
 *
 * =====================================================================================
 */
#pragma once
#include "IObserver.h"
#include <iostream>
using std::string;

class IObservable {
  public:
    IObservable(void) {
    } virtual ~ IObservable(void) {
    }
    virtual void AddObserver(IObserver* pObserver) = 0;     //添加观察者
    virtual void DeleteObserver(IObserver* pObserver) = 0;  //删除观察者
    virtual void NotifyObservers(string context) = 0;   //通知观察者
};
